package com.otv.pieza.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;
import com.otv.model.Pieza;
import com.otv.pieza.dao.IPiezaDAO;



/**
 * Class PiezaService.
 */
@Transactional(readOnly = true)
public class PiezaService implements IPiezaService {


	/** El/la pieza dao. */
	IPiezaDAO piezaDAO;
	

	/**
	 * Devuelve un(a) pieza dao.
	 *
	 * @return El/la pieza dao
	 */
	public IPiezaDAO getPiezaDAO() {
		return piezaDAO;
	}


	/**
	 * Asigna el/la pieza dao.
	 *
	 * @param piezaDAO un(a) nuevo(a) pieza dao
	 */
	public void setPiezaDAO(IPiezaDAO piezaDAO) {
		this.piezaDAO = piezaDAO;
	}


	@Transactional(readOnly = false)
	@Override
	public void addPieza(Pieza pieza) {
		getPiezaDAO().addPieza(pieza);
	}


	@Transactional(readOnly = false)
	@Override
	public void updatePieza(Pieza pieza) {
		getPiezaDAO().updatePieza(pieza);
	}


	@Transactional(readOnly = false)
	@Override
	public void deletePieza(Pieza pieza) {
		getPiezaDAO().deletePieza(pieza);
	}

	/* (non-Javadoc)
	 * @see com.otv.pieza.service.IPiezaService#getPiezaById(int)
	 */
	@Transactional(readOnly = false)
	@Override
	public Pieza getPiezaById(int id) {
		return getPiezaDAO().getPiezaById(id);
	}


	@Transactional(readOnly = false)
	@Override
	public List<Pieza> getPiezas() {
		return getPiezaDAO().getPiezas();
	}

}
